﻿//using System;
//using System.Collections.Generic;
//using System.Drawing;


//namespace Petra.Gis.Geometry.Image.Tiff
//{

//  public class ColorMapBand : Band
//  {
//    List<Color> _colorMap;
//    //RGBPalette _colorMap;
//    //ColorPalette _colorMap;

//    public ColorMapBand(TiffBitmapSource image, int bitsPerSample)
//      : base(image, bitsPerSample)
//    {
//      if (((bitsPerSample % 8) != 0) || bitsPerSample < 1 || bitsPerSample > 48)
//        throw new ArgumentException("invalid bps value for color map image");

//      //load band color Palette
//      prepareColorMap();

//      //_bitsPerBand = Convert.ToByte(image.Ifd.GetTag(Tag.TagId.BITSPERSAMPLE).TagData[0]);
//      _bitsPerBand = bitsPerSample;
//    }



//    /// <summary>
//    /// color table is available only for color images
//    /// </summary>
//    private void prepareColorMap()
//    {
//      Tag tag = _image.TiffMetadata.Ifd.GetTag(Tag.TagId.COLORMAP);

//      int numEntries = tag.Count / 3;
//      //_colorMap = new RGBPalette(numEntries, 255);
//      //_colorMap = new ColorPalette();//numEntries, 255);
//      _colorMap = new List<Color>();

//      //int vectorIndex = 0;
//      for (int index = 0; index < numEntries; index++)
//      {
//        _colorMap.Add(Color.FromArgb(tag.getElementAsInt(index) >> 3,
//                        tag.getElementAsInt(index + numEntries) >> 3,
//                        tag.getElementAsInt(index + numEntries + numEntries) >> 3));
//      }
//    }


//    /// <summary>
//    /// returns image colormap as List of System.Drawing.Color
//    /// </summary>
//    public List<Color> ColorMap
//    {
//      get { return _colorMap; }
//    }

//  }


//}
